

using System;
using System.Text;

using NHibernate;
using NHibernate.Cfg;
using NHibernate.Criterion;
using NHibernate.Exceptions;

using NuevoGenNHibernate.EN.Ebay;
using NuevoGenNHibernate.CAD.Ebay;

namespace NuevoGenNHibernate.CEN.Ebay
{
public partial class SubastaCEN
{
private ISubastaCAD _ISubastaCAD;

public SubastaCEN(ISubastaCAD _ISubastaCAD)
{
        this._ISubastaCAD = _ISubastaCAD;
}

public ISubastaCAD get_ISubastaCAD ()
{
        return this._ISubastaCAD;
}

public int CrearSubasta (bool p_Finalizado, NuevoGenNHibernate.Enumerated.Ebay.TipoDePagoEnum p_FormaDePago, Nullable<DateTime> p_Fecha, string p_Nombre, string p_Descripcion, float p_precioFinal, float p_gastosEnvio, string p_vendedor, string p_usuario, System.Collections.Generic.IList<NuevoGenNHibernate.EN.Ebay.LineaVentaEN> p_lineaVenta, Nullable<DateTime> p_FechaFin, float p_MinimoPuja, int p_TotalPujas)
{
        SubastaEN subastaEN = null;
        int oid;

        //Initialized SubastaEN
        subastaEN = new SubastaEN ();
        subastaEN.Finalizado = p_Finalizado;

        subastaEN.FormaDePago = p_FormaDePago;

        subastaEN.Fecha = p_Fecha;

        subastaEN.Nombre = p_Nombre;

        subastaEN.Descripcion = p_Descripcion;

        subastaEN.PrecioFinal = p_precioFinal;

        subastaEN.GastosEnvio = p_gastosEnvio;


        if (p_vendedor != null) {
                subastaEN.Vendedor = new NuevoGenNHibernate.EN.Ebay.UsuarioEN ();
                subastaEN.Vendedor.Nick = p_vendedor;
        }


        if (p_usuario != null) {
                subastaEN.Usuario = new NuevoGenNHibernate.EN.Ebay.UsuarioEN ();
                subastaEN.Usuario.Nick = p_usuario;
        }

        subastaEN.LineaVenta = p_lineaVenta;

        subastaEN.FechaFin = p_FechaFin;

        subastaEN.MinimoPuja = p_MinimoPuja;

        subastaEN.TotalPujas = p_TotalPujas;

        //Call to SubastaCAD

        oid = _ISubastaCAD.CrearSubasta (subastaEN);
        return oid;
}

public void ModificarSubasta (int p_Subasta_OID, bool p_Finalizado, NuevoGenNHibernate.Enumerated.Ebay.TipoDePagoEnum p_FormaDePago, Nullable<DateTime> p_Fecha, string p_Nombre, string p_Descripcion, float p_precioFinal, float p_gastosEnvio, Nullable<DateTime> p_FechaFin, float p_MinimoPuja, int p_TotalPujas)
{
        SubastaEN subastaEN = null;

        //Initialized SubastaEN
        subastaEN = new SubastaEN ();
        subastaEN.Id_venta = p_Subasta_OID;
        subastaEN.Finalizado = p_Finalizado;
        subastaEN.FormaDePago = p_FormaDePago;
        subastaEN.Fecha = p_Fecha;
        subastaEN.Nombre = p_Nombre;
        subastaEN.Descripcion = p_Descripcion;
        subastaEN.PrecioFinal = p_precioFinal;
        subastaEN.GastosEnvio = p_gastosEnvio;
        subastaEN.FechaFin = p_FechaFin;
        subastaEN.MinimoPuja = p_MinimoPuja;
        subastaEN.TotalPujas = p_TotalPujas;
        //Call to SubastaCAD

        _ISubastaCAD.ModificarSubasta (subastaEN);
}

public void EliminarSubasta (int id_venta)
{
        _ISubastaCAD.EliminarSubasta (id_venta);
}

public SubastaEN ReadOID (int id_venta)
{
        SubastaEN subastaEN = null;

        subastaEN = _ISubastaCAD.ReadOID (id_venta);
        return subastaEN;
}

public System.Collections.Generic.IList<SubastaEN> ReadAll (int first, int size)
{
        System.Collections.Generic.IList<SubastaEN> list = null;

        list = _ISubastaCAD.ReadAll (first, size);
        return list;
}
}
}
